#ifndef PARSE_FUNCTION_H_
#define PARSE_FUNCTION_H_



typedef struct {
	int returnType;
	int paramNum;
	char *funcName;
	int paramType[16];
} FunctionTypedef;


#define INT_TYPE 1
#define CHAR_TYPE 2
#define SHORT_TYPE 3
#define LONG_LONG_TYPE 4
#define POINTER_TYPE 5
#define UINT_TYPE 6
#define UCHAR_TYPE 7
#define USHORT_TYPE 8
#define ULONG_LONG_TYPE 9
#define VOID_TYPE 10
#define U_TYPE 11
#define LONG_TYPE 12
#define UNKNOWN_TYPE 0



FunctionTypedef * parseFunction(const char* str);
void freeFunctionTypedef(FunctionTypedef * func);
int getFunctionParamNumber(FunctionTypedef * func);
int getFunctionParamType(FunctionTypedef * func, int index);
int getFunctionReturnType(FunctionTypedef * func);
char *getFunctionName(FunctionTypedef * func);
void toStrFunctionTypedef(FunctionTypedef * func, char *buf);
const char *typeToStr(int type);
































#endif

